<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UploadController extends Controller
{
    /**
     * 处理图片上传
     * @param Request $request
     * @return array
     */
    public function upload(Request $request){

        //上传图片需要注意的事项:
        //利用laravel框架的图片上传方法,如果是在服务器上执行,那么就需要注意你的服务器上当前所使用的php版本中的一个名字叫做 fileinfo 的扩展是否打开,如果没打开,请安装
        //服务器（宝塔）-》软件管理-》php版本-》设置-》安装扩展-》fileinfo->安装
        //获取前台请求的数据
        //'file' 前台的类型
        $file = $request->file('file');
        //dd($file);
        //判断当前文件是否合法 $file->isValid
        //dd($file->isValid());
        if ( $file->isValid()){
            //判断如果上传的是一个合法的文件，就执行上传
            //第一个参数：忽略默认上传图片地址的路径，自己定义的文件夹名称 这个路径不能包含文件名，因为系统会自动生成唯一的 ID 作为文件名。
            //第二个参数：存储图片的地址（相对于当前项目）
          $path = $file->store(date('ymd'),'upload');

            //上传完成之后需要返回值：
            return ['file' => asset('/UploadImage/' . $path),'code' =>0];
        }

    }

    /**
     * 编辑器图片上传处理
     * @param Request $request
     * @return array
     */
    public function editorUpload(Request $request){


        //获取前台请求的数据
        $file = $request->file('file');
        //判断当前文件上传是否合法
        if ($file->isValid()){
            //如果合法就执行上传
          $path = $file->store(date('ymd'),'upload');
            //上传执行返回
            return [
                "success" => true,
                //提示消息
                "msg" => "上传成功",
                //文件存储的地址
                "file_path" =>asset('/UploadImage/' . $path),
            ];


        }


    }





}
